package com.jwsoft.manager.common.vo.eduStudentEnrollBefore;

import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.annotation.TableField;
import com.bifang.assistant.common.vo.BaseVO;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jwsoft.manager.common.vo.eduHouse.EduHouseVO;
import com.jwsoft.manager.common.vo.eduHouse.HouseInterfaceVO;
import com.jwsoft.manager.common.vo.eduStudentEnrollPre.EduStudentEnrollPreVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 义务教育阶段预报名表VO
 *
 * @author wangtao
 * @since 2022-12-13
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(name = "EduStudentEnrollBeforeVO", title = "义务教育阶段预报名表VO", description = "义务教育阶段预报名表实体类")
public class EduStudentEnrollBeforeVO extends BaseVO {

    @Schema(name = "enrollBeforeId", title = "主键")
    private Long enrollBeforeId;

    @Schema(name = "year", title = "年份")
    private Integer year;

    @Schema(name = "studentEnrollPreId", title = "预采集id")
    private String studentEnrollPreId;

    @Schema(name = "schoolId", title = "可报名学校")
    private String schoolId;

    @Schema(name = "schoolName", title = "学校名称")
    private String schoolName;
    @Schema(name = "schoolNum", title ="学校代码")
    private String schoolNum;
    @Schema(name = "shortName", title = "简称")
    private String shortName;
    @Schema(name = "schoolNature", title ="学校性质0.公办 1.民办")
    private String schoolNature;
    @Schema(name = "schoolNatureName", title = "学校性质0.公办 1.民办Name")
    private String schoolNatureName;
    @Schema(name = "schoolCategoryName", title = "学校类别Name")
    private String schoolCategoryName;
    @Schema(name = "schoolCategory", title ="学校类别")
    private String schoolCategory;

    @Schema(name = "configTypeName", title = "招生计划类别")
    private String configTypeName;

    @Schema(name = "configName", title = "招生类别")
    private String configName;

    @Schema(name = "houseId", title = "房产id")
    private String houseId;
    @Schema(name = "realPropertyDetails", title = "完整不动产权号")
    private String realPropertyDetails;
    @Schema(name = "realProperty", title = "不动产权号")
    private String realProperty;
    @Schema(name = "houseAdreess", title = "房产地址")
    private String houseAdreess;
    @Schema(name = "registerDate", title ="房产登记日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date registerDate;
    @Schema(name = "householdId", title = "户籍id")
    private String householdId;
    @Schema(name = "householdAdress", title = "户籍地址")
    private String householdAdress;
    @Schema(name = "addressCity", title ="户口所在地县市")
    private String addressCity;

    @Schema(name = "addressCountry", title ="户口所在乡镇街道")
    private String addressCountry;

    @Schema(name = "addressVillage", title ="户口所在村社区")
    private String addressVillage;

    @Schema(name = "qysj", title ="户籍启用日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date qysj;
    @Schema(name = "privateAppointFlag", title = "是否民办直升班 0 否 1 是")
    private String privateAppointFlag;

    @Schema(name = "privateAppointStudentId", title = "民办直升班名单id")
    private String privateAppointStudentId;

    @Schema(name = "appointFlag", title = "是否城区E类人员 0 否 1 是")
    private String appointFlag;

    @Schema(name = "appointStudentId", title = "E类学籍名单id")
    private String appointStudentId;

    @Schema(name = "specialFlag", title = "特殊人员标识、针对学校录入的")
    private String specialFlag;
    @Schema(name = "specialFileFlag", title = "特殊人员上传文件")
    private String specialFileFlag;
    @Schema(name = "authStatus", title = "审核状态")
    private String authStatus;

    @Schema(name = "authRemarks", title = "审核意见")
    private String authRemarks;

    @Schema(name = "authTime", title = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date authTime;

    @Schema(name = "authUserId", title = "审核人")
    private String authUserId;

    @Schema(name = "houseName", title = "房产权力人姓名")
    private String houseName;

    @Schema(name = "houseIdcard", title = "房产权利人身份证")
    private String houseIdcard;

    @Schema(name = "relationshipType", title = "与学生的关系类型：1父亲 2母亲 3爷爷 4奶奶 5外公 6外婆 7监护人")
    private String relationshipType;
    @Schema(name = "houseFlag", title = "是否需要有房产")
    private String houseFlag;
    @Schema(name = "houseType", title = "房产获取类型：1可输入身份证获取 2 只能从父母的信息中获取")
    private String houseType;
    @Schema(name = "createName", title = "创建人")
    private String createName;

    @Schema(name = "createTime", title = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    @Schema(name = "areaCode", title = "行政区划")
    private String areaCode;

    @Schema(name = "idcard", title = "学生身份证")
    private String idcard;

    @Schema(name = "fullName", title = "学生姓名")
    private String fullName;
    @Schema(name = "cardType", title = "学生证件类型")
    private String cardType;
    @Schema(name = "street", title = "学校所属街道")
    private String street;

    @Schema(name = "streetName", title =  "学校所属街道Name")
    private String streetName;

    @Schema(name = "enrollStatus", title = "学校招生状态：未开放 招生中 空额抢报中 已结束")
    private String enrollStatus;
    @Schema(name = "enrollStatusName", title = "学校招生状态：未开放 招生中 空额抢报中 已结束")
    private String enrollStatusName;
    @Schema(name = "hasEnrollFlag", title = "学校存在上架中的招生方案")
    private Boolean hasEnrollFlag;
    @Schema(name = "vacancyNum", title = "缺额数量")
    private Integer vacancyNum;

    @Schema(name="realPropertyNum",title = "不动产权单元号")
    private String realPropertyNum;

    private EduHouseVO houseVO;

    private EduStudentEnrollPreVO studentEnrollPreVO;
    @Schema(name = "aborigineFlag", title = "是否原住居民")
    private String aborigineFlag;
    @Schema(name = "serviceFlag", title = "是否服务区")
    private String serviceFlag;
    @Schema(name = "configNameAlias", title = "招生类别别名")
    private String configNameAlias;
    @Schema(name = "configNameNum", title = "同类别序号")
    private Integer configNameNum;
    @Schema(name = "verificationType", title = "需线下核验的类型，多选")
    private String verificationType;

    @Schema(name = "encryptStatus", description = "加密状态 0待加密  1加密成功  2加密失败")
    private String encryptStatus;

    @Schema(name = "encryptRemarks", description = "加密备注")
    private String encryptRemarks;

    @Schema(name = "encryptTime", description = "加密时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date encryptTime;

    @Schema(name = "encryptFlag", description = "是否已加密  1是  0否")
    private String encryptFlag;

    @Schema(name = "cleanFlag", description = "是否销毁 1是 0 否")
    private String cleanFlag;
}
